Naar inhoud springen

Java OpenGL

Uit Wikipedia, de vrije encyclopedie
Java OpenGL
Java OpenGL
Ontwikkelaar(s) Sun Microsystems
Recentste versie 2.3.1 
(27 maart 2015)
Recentste bètaversie 2.3.1 
(27 maart 2015)
Status Inactief
Besturingssysteem Multiplatform
Geschreven in Java
Categorie Wrapperbibliotheek
Licentie(s) BSD-licentie
Website (en) Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

Java OpenGL (JOGL) is een wrapper-bibliotheek voor het gebruik van OpenGL in de programmeertaal Java. Het wordt ontwikkeld door de Game Technology Group bij Sun Microsystems.

JOGL biedt toegang tot de meeste functionaliteit die C-programmeurs kunnen gebruiken, uitgezonderd de venstergerelateerde aanroepen aan het systeem in OpenGL Utility Toolkit (GLUT) aangezien Java zelf systemen bevat voor het beheren van vensters, namelijk AWT en Swing. Ook ontbreken enkele uitbreidingen. JOGL is de referentie-implementatie van Java Specifiation Request 231: Java Binding for the OpenGL API.

De basis OpenGL C-API is toegankelijk in JOGL via Java Native Interface (JNI) aanroepen. Het onderliggende systeem moet hierdoor OpenGL ondersteunen om JOGL te kunnen gebruiken.

JOGL verschilt van sommige andere Java OpenGL-bibliotheken aangezien het de OpenGL-API alleen toegankelijk maakt via een aantal klassen in plaats van het overbrengen van de OpenGL-functionaliteit naar het objectgeoriënteerde programmeerparadigma. Het meeste van de JOGL-code is automatisch gegenereerd met behulp van de OpenGL C-headerbestanden met een conversieprogramma genaamd GlueGen.

Deze ontwerpkeuze heeft voor- en nadelen. De procedurele en eindige toestandsautomaat kenmerken van OpenGL komen niet overeen met de gebruikelijke manier van programmeren in Java, wat veel programmeurs tegenstaat. Aan de andere kant maakt de directe overeenkomst tussen de functionaliteit van de OpenGL C-API en de methoden in JOGL het gemakkelijk om bestaande C programma's over te zetten. Het vereenvoudigt ook voorbeeldcode om te leren werken met JOGL. De dunne laag van abstractie die door JOGL wordt geboden maakt het uitvoeren van programma's vrij efficiënt maar het is lastiger om te programmeren in vergelijking met bibliotheken met een hoger niveau van abstractie, zoals Java3D. Aangezien de meeste code automatisch gegenereerd is kunnen veranderingen in OpenGL snel toegevoegd worden aan JOGL.

[bewerken | brontekst bewerken]